
//
//  UIImage+Extension.swift
//  优化调试
//
//  Created by rimi on 16/10/12.
//  Copyright © 2016年 YQ. All rights reserved.
//

import UIKit

extension UIImage {
    
    
    /// 重新绘制图片设置圆角和边框
    ///
    /// - parameter size:    绘制尺寸
    /// - parameter bgColor: 背景色
    ///
    /// - returns: 绘制后的图片
    func reverseImage(size:CGSize,bgColor: UIColor) -> UIImage? {
        //准备好绘图范围
        let rect = CGRect(origin: CGPoint(), size: size)
        //1 创建图片上下文
        // 参数1 上下文大小 参数2 是否透明(false(透明)，true(不透明)) 参数3 绘图比例(绘图的分辨率，给0表示根据当前屏幕分辨率来绘制)
        UIGraphicsBeginImageContextWithOptions(size, true, 0)
        //设置背景色
        bgColor.setFill()
        UIRectFill(rect)
        //2 设置属性
        let path = UIBezierPath(ovalIn: rect)
        //设置裁剪路径后，后面所有绘制的图形都会以这个裁剪路径作为边界进行绘制
        path.addClip()
        //3 绘制图片
        draw(in: rect)
        //绘制边框
        UIColor.orange.setStroke()
        path.lineWidth = 2
        path.stroke()
        //4 从上下文中获得新绘制的图片
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        //5 关闭上下文
        UIGraphicsEndImageContext()
        //6 返回图片
        return newImage

    }
    
}
